
#include "RCC.H"


void RCC_HSE_Config(void)
{
	RCC_DeInit();											//重置时钟系统
	RCC_HSEConfig(RCC_HSE_ON);								//HSE启动
	if(RCC_WaitForHSEStartUp() == SUCCESS)					//判断外部晶振是否启动
	{
		RCC_HCLKConfig(RCC_SYSCLK_Div1);					//配置AHB（HCLK）分频系数为1
		RCC_PCLK1Config(RCC_HCLK_Div2);						//设置APB1分频系数为2
		RCC_PCLK2Config(RCC_HCLK_Div1);						//设置APB1分频系数为1
		RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); //配置PLL
		RCC_PLLCmd (ENABLE);								//启动PLL
		while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //等待PLL正常工作
		RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);			//配置系统时钟来源为PLL
		while(RCC_GetSYSCLKSource() != 0x08);				//检测PLL是否被配置为系统时钟来源
	};			
}
